package com.eshop.logging.domain;

import java.util.Arrays;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.eshop.domain.BaseDomain;

@TableName("log")
public class Log extends BaseDomain
{
    @TableId
    private Long id;
    private String username;
    @TableField(exist = false)
    private String nickname;
    private String description;
    private String method;
    private Long uid;
    private Integer type;
    private String params;
    private String logType;
    private String requestIp;
    private String address;
    private String browser;
    private Long time;
    private byte[] exceptionDetail;
    
    public Log(final String logType, final Long time) {
        this.logType = logType;
        this.time = time;
    }
    
    public Long getId() {
        return this.id;
    }
    
    public String getUsername() {
        return this.username;
    }
    
    public String getNickname() {
        return this.nickname;
    }
    
    public String getDescription() {
        return this.description;
    }
    
    public String getMethod() {
        return this.method;
    }
    
    public Long getUid() {
        return this.uid;
    }
    
    public Integer getType() {
        return this.type;
    }
    
    public String getParams() {
        return this.params;
    }
    
    public String getLogType() {
        return this.logType;
    }
    
    public String getRequestIp() {
        return this.requestIp;
    }
    
    public String getAddress() {
        return this.address;
    }
    
    public String getBrowser() {
        return this.browser;
    }
    
    public Long getTime() {
        return this.time;
    }
    
    public byte[] getExceptionDetail() {
        return this.exceptionDetail;
    }
    
    public void setId(final Long id) {
        this.id = id;
    }
    
    public void setUsername(final String username) {
        this.username = username;
    }
    
    public void setNickname(final String nickname) {
        this.nickname = nickname;
    }
    
    public void setDescription(final String description) {
        this.description = description;
    }
    
    public void setMethod(final String method) {
        this.method = method;
    }
    
    public void setUid(final Long uid) {
        this.uid = uid;
    }
    
    public void setType(final Integer type) {
        this.type = type;
    }
    
    public void setParams(final String params) {
        this.params = params;
    }
    
    public void setLogType(final String logType) {
        this.logType = logType;
    }
    
    public void setRequestIp(final String requestIp) {
        this.requestIp = requestIp;
    }
    
    public void setAddress(final String address) {
        this.address = address;
    }
    
    public void setBrowser(final String browser) {
        this.browser = browser;
    }
    
    public void setTime(final Long time) {
        this.time = time;
    }
    
    public void setExceptionDetail(final byte[] exceptionDetail) {
        this.exceptionDetail = exceptionDetail;
    }
    
    public String toString() {
        return "Log(id=" + this.getId() + ", username=" + this.getUsername() + ", nickname=" + this.getNickname() + ", description=" + this.getDescription() + ", method=" + this.getMethod() + ", uid=" + this.getUid() + ", type=" + this.getType() + ", params=" + this.getParams() + ", logType=" + this.getLogType() + ", requestIp=" + this.getRequestIp() + ", address=" + this.getAddress() + ", browser=" + this.getBrowser() + ", time=" + this.getTime() + ", exceptionDetail=" + Arrays.toString(this.getExceptionDetail()) + ")";
    }
    
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof Log)) {
            return false;
        }
        final Log other = (Log)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (!super.equals(o)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0075: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0075;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0075;
            }
            return false;
        }
        final Object this$uid = this.getUid();
        final Object other$uid = other.getUid();
        Label_0112: {
            if (this$uid == null) {
                if (other$uid == null) {
                    break Label_0112;
                }
            }
            else if (this$uid.equals(other$uid)) {
                break Label_0112;
            }
            return false;
        }
        final Object this$type = this.getType();
        final Object other$type = other.getType();
        Label_0149: {
            if (this$type == null) {
                if (other$type == null) {
                    break Label_0149;
                }
            }
            else if (this$type.equals(other$type)) {
                break Label_0149;
            }
            return false;
        }
        final Object this$time = this.getTime();
        final Object other$time = other.getTime();
        Label_0186: {
            if (this$time == null) {
                if (other$time == null) {
                    break Label_0186;
                }
            }
            else if (this$time.equals(other$time)) {
                break Label_0186;
            }
            return false;
        }
        final Object this$username = this.getUsername();
        final Object other$username = other.getUsername();
        Label_0223: {
            if (this$username == null) {
                if (other$username == null) {
                    break Label_0223;
                }
            }
            else if (this$username.equals(other$username)) {
                break Label_0223;
            }
            return false;
        }
        final Object this$nickname = this.getNickname();
        final Object other$nickname = other.getNickname();
        Label_0260: {
            if (this$nickname == null) {
                if (other$nickname == null) {
                    break Label_0260;
                }
            }
            else if (this$nickname.equals(other$nickname)) {
                break Label_0260;
            }
            return false;
        }
        final Object this$description = this.getDescription();
        final Object other$description = other.getDescription();
        Label_0297: {
            if (this$description == null) {
                if (other$description == null) {
                    break Label_0297;
                }
            }
            else if (this$description.equals(other$description)) {
                break Label_0297;
            }
            return false;
        }
        final Object this$method = this.getMethod();
        final Object other$method = other.getMethod();
        Label_0334: {
            if (this$method == null) {
                if (other$method == null) {
                    break Label_0334;
                }
            }
            else if (this$method.equals(other$method)) {
                break Label_0334;
            }
            return false;
        }
        final Object this$params = this.getParams();
        final Object other$params = other.getParams();
        Label_0371: {
            if (this$params == null) {
                if (other$params == null) {
                    break Label_0371;
                }
            }
            else if (this$params.equals(other$params)) {
                break Label_0371;
            }
            return false;
        }
        final Object this$logType = this.getLogType();
        final Object other$logType = other.getLogType();
        Label_0408: {
            if (this$logType == null) {
                if (other$logType == null) {
                    break Label_0408;
                }
            }
            else if (this$logType.equals(other$logType)) {
                break Label_0408;
            }
            return false;
        }
        final Object this$requestIp = this.getRequestIp();
        final Object other$requestIp = other.getRequestIp();
        Label_0445: {
            if (this$requestIp == null) {
                if (other$requestIp == null) {
                    break Label_0445;
                }
            }
            else if (this$requestIp.equals(other$requestIp)) {
                break Label_0445;
            }
            return false;
        }
        final Object this$address = this.getAddress();
        final Object other$address = other.getAddress();
        Label_0482: {
            if (this$address == null) {
                if (other$address == null) {
                    break Label_0482;
                }
            }
            else if (this$address.equals(other$address)) {
                break Label_0482;
            }
            return false;
        }
        final Object this$browser = this.getBrowser();
        final Object other$browser = other.getBrowser();
        if (this$browser == null) {
            if (other$browser == null) {
                return Arrays.equals(this.getExceptionDetail(), other.getExceptionDetail());
            }
        }
        else if (this$browser.equals(other$browser)) {
            return Arrays.equals(this.getExceptionDetail(), other.getExceptionDetail());
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof Log;
    }
    
    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $uid = this.getUid();
        result = result * 59 + (($uid == null) ? 43 : $uid.hashCode());
        final Object $type = this.getType();
        result = result * 59 + (($type == null) ? 43 : $type.hashCode());
        final Object $time = this.getTime();
        result = result * 59 + (($time == null) ? 43 : $time.hashCode());
        final Object $username = this.getUsername();
        result = result * 59 + (($username == null) ? 43 : $username.hashCode());
        final Object $nickname = this.getNickname();
        result = result * 59 + (($nickname == null) ? 43 : $nickname.hashCode());
        final Object $description = this.getDescription();
        result = result * 59 + (($description == null) ? 43 : $description.hashCode());
        final Object $method = this.getMethod();
        result = result * 59 + (($method == null) ? 43 : $method.hashCode());
        final Object $params = this.getParams();
        result = result * 59 + (($params == null) ? 43 : $params.hashCode());
        final Object $logType = this.getLogType();
        result = result * 59 + (($logType == null) ? 43 : $logType.hashCode());
        final Object $requestIp = this.getRequestIp();
        result = result * 59 + (($requestIp == null) ? 43 : $requestIp.hashCode());
        final Object $address = this.getAddress();
        result = result * 59 + (($address == null) ? 43 : $address.hashCode());
        final Object $browser = this.getBrowser();
        result = result * 59 + (($browser == null) ? 43 : $browser.hashCode());
        result = result * 59 + Arrays.hashCode(this.getExceptionDetail());
        return result;
    }
    
    public Log() {
    }
}
